1
Maîtrise du flux de contrôle avancé
AI019Lesson 6
00:00

Le case expression est la pierre angulaire du flux de contrôle d'Elixir. Contrairement aux instructions switch impératives, case il s'agit d'une expression fonctionnelle qui retourne le résultat de la branche correspondante, permettant aux développeurs de déconstruire instantanément des types de données complexes comme les cartes et les tuples tout en imposant une logique exhaustive.

1. Correspondance de motifs et liaison

Le case l'expression vous permet de tester une valeur contre un ensemble de motifs. Elle exécute le code associé au premier motif correspondant et retourne la valeur de ce code. Vous pouvez lier des variables dans la correspondance pour une utilisation immédiate dans la logique de la branche.

case dave do
%{state: some_state} = person ->
IO.puts "#{person.name} vit à #{some_state}"
fin

2. Flux logique visuel

ValeurMotif {:ok, val}Motif {:error, _}Par défaut _

3. Conditions de garde et exhaustivité

En utilisant le mot-clé when vous pouvez enrichir les correspondances structurelles avec une logique prédicative (par exemple, is_number(age) et age >= 21). Elixir exige une correspondance pour chaque entrée potentielle ; si aucun motif ne correspond, une Erreur CaseClauseError est levée.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>